/**
 * @date 9:20:35 AM
 * StudentService.java
 * Administrator
 * TODO
 */
package com.qs.education.service;
import javax.servlet.http.HttpServletRequest;

import org.springframework.web.multipart.MultipartFile;

import com.qs.education.bean.api.ResponseBean;
import com.qs.education.bean.beans.EducationStudentBean;
import com.qs.education.bean.beans.EducationStudentResponse;
import com.qs.education.bean.entity.EducationStudent;

/**
 * @class StudentService	
 * @author Warren
 * @description
 * @date Nov 1, 2018 
 */
public interface IStudentAPPService {
	/**
	 * @author Warren
	 * @param id
	 * @return Map<String,Object>
	 * @description 
	 * @date Nov 20, 2018
	 */
	public EducationStudentResponse getEducationStudent(Long id);
	
	/**
	 * @author Warren
	 * @param mobile
	 * @param password
	 * @return EducationStudentResponse
	 * @description 学生登录
	 * @date Nov 6, 2018
	 */
	public EducationStudentResponse login(String mobile,String password);
	
	/**
	 * @author Warren
	 * @param mobile
	 * @return ReponseBean
	 * @description 根据手机号查询是否已注册
	 * @date Nov 7, 2018
	 */
	public ResponseBean mobileIsRepeat(String mobile);
	
	/**
	 * @author Warren
	 * @param student
	 * @return ResponseBean
	 * @description 学生注册
	 * @date Nov 6, 2018
	 */
	public ResponseBean register(EducationStudentBean student);
	
	/**
	 * @author Warren
	 * @param mobile
	 * @return ResponseBean
	 * @description 学生退出app端登录状态
	 * @date Nov 6, 2018
	 */
	public ResponseBean exit(String mobile);
	
	/**
	 * @author Warren
	 * @param mobile 手机号(相当于账号)
	 * @param password 新密码
	 * @return ResponseBean
	 * @description 重置密码
	 * @date Nov 6, 2018
	 */
	public ResponseBean resetPwd(String mobile,String password);
	
	/**
	 * @author Warren
	 * @param educationStduent
	 * @return ResponseBean
	 * @description 修改学生信息
	 * @date Nov 14, 2018
	 */
	public ResponseBean updateStudentInfo(EducationStudent educationStduent,MultipartFile file,String schoolId,String gradeId,String classId,HttpServletRequest request);
	
	/**
	 * @author Warren
	 * @param mobile 手机号
	 * @param oldPassword 原密码
	 * @param newPassword 新密码
	 * @return ResponseBean
	 * @description 修改密码
	 * @date Nov 20, 2018
	 */
	public ResponseBean changePwd(String mobile,String oldPassword,String newPassword);
	
	/**
	 * @author Warren
	 * @param groupId 
	 * @param studentId
	 * @return ResponseBean
	 * @description 学生主动退出班群
	 * @date Nov 20, 2018
	 */
	public ResponseBean exitGroup(Long groupId,Long studentId);
}
